import CountUI from "../../components/Count";
//引入action
import { createIncrementAction,createDecrementAction,createIncrementAsyncAction} from "../../redux/count_action";

//引入 connect 用于连接UI组件和redux
import { connect } from "react-redux";

// mapStateToProps 函数返回的对象中的key就作为传递给UI组件props 的key，value就作为传递给UI组件props 的value——状态
function mapStateToProps(state) {
  return { count: state };
}

// mapDispatchToProps 函数返回的对象中的key就作为传递给UI组件props 的key，value就作为传递给UI组件props 的value——操作状态的方法
function mapDispatchToProps(dispatch) {
  return {
    jia: (number) => {
      //通知 redux 执行加法
      dispatch(createIncrementAction(number));
    },
    jian: (number) => {
        //通知 redux 执行加法
        dispatch(createDecrementAction(number));
      },
      jiaAsync: (number,time)=>{
          dispatch(createIncrementAsyncAction(number,time))
      }
  };
}
//使用 connect()()创建并暴露了一个Count的容器组件
export default connect(mapStateToProps, mapDispatchToProps)(CountUI);
